$$ \text{CPU time} =\frac{\text{instructions}}{\text{program}}\times\frac{\text{cycles}}{\text{instruction}}\times \frac{\text {seconds}}{\text{cycle}} $$
What limits the set clock speed?
State changes take time to propagate. As we approach 0 for the clock cycle time we end up with cycles that are shorter than the time it takes for the state to change (i.e. the time for circuits to react to electrical signals). This leads to invalid state. Data must have enough time to propagate through circuits before a new state change can occur.
